package com.adee.java.druid;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

/**
 * druid使用主要步骤：
 *
 * 1.编写druid.properties，设置数据库连接参数和连接池基本参数等
 *
 * 2.通过DruidDataSourceFactory加载druid.properties文件，并创建DruidDataSource对象
 *
 * 3.通过DruidDataSource对象获得Connection对象
 *
 * 4.使用Connection对象对用户表进行增删改查
 */
public class DruidTest {
    public static void main(String[] args) throws Exception {
        test1();
    }

    /**
     * 测试select
     */
    public static void test1() throws Exception{
        Utils.dataSource.getConnection();
        Utils.dataSource.getConnection();
        Connection conn1 = Utils.dataSource.getConnection();
        String sql = "SELECT * FROM t_admin where id > ?";
        // 3. 预编译sql
        PreparedStatement pstat = conn1.prepareStatement(sql);
        //占位符赋值
        //给占位符赋值！ 从左到右，从1开始！
        pstat.setInt(1, 0);
        //这哥们内部完成SQL语句拼接！
        //执行SQL语句即可
        ResultSet rs = pstat.executeQuery();
        // 5. 结果集解析
        while(rs.next()) {
            System.out.println(rs.getInt("id") + "\t"
                    + rs.getString("username") + "\t"
                    + rs.getString("password"));
        }
        // 6. 资源关闭 【先开后关】
        rs.close();
        // 执行preparedStatement.close()后预编译便会失效，为了预编译sql的重用，提高性能，不要关闭
        // pstat.close();
        conn1.close();
        System.out.println("end");
    }
}
